#ifndef CGAMESTATE_H_
#define CGAMESTATE_H_

#include "IGameState.h"
#include <vector>


class CGameState : public IGameState
{

	CGameState();
	~CGameState();
	CGameState(const CGameState&);
	CGameState& operator=(const CGameState&);

	//GameState will be different as it will hold a vector of IGameState* that will act as levels (assuming that the game calls for levels)
	//otherwise it will just have a vector of size 1, and act as though it has 1 large level
	
	std::vector<IGameState*> m_vGameLevels;

public:

	static CGameState* GetInstance();

	void Enter();
	bool GetInput();
	void Leave();
	void Update(double delta);
	void Render();
	void StartUp();
	void ShutDown();

};

#endif